* {
  margin: 0;
  padding: 0;
  border: 0;

  -webkit-font-smoothing: antialiased;

  box-sizing: border-box;
}

/* Older Firefox and IE */
article, aside, figure, footer, header, nav, section, details, summary {
  display: block;
}

/* Make sure anything embedded on the page doesn't screw up layout */
object, embed, iframe {
  max-width: 100%;
}

/* Make sure our admin panel takes up the full browser space. */
html, body, .main-wrapper {
  height: 100%;
}

/* Sometimes Opera bugs out if a page doesn't have a scrollbar. */
html {
  overflow-y: scroll;
}

li {
  list-style: none;
}

blockquote, blockquote:before, blockquote:after,
q, q:before, q:after {
  content: '';
  content: none;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    white-space: pre-line;
    word-wrap: break-word;
}

/* Bloody tables. */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
  th {
    font-weight: bold;
    text-align: left;
    vertical-align: bottom;
  }
  td {
    font-weight: normal;
    vertical-align: top;
  }

input, select {
  vertical-align: middle;
}
  input[type=checkbox], input[type=radio] {
    vertical-align: text-top;
  }
  input[type="search"]::-webkit-search-cancel-button {
    display: none;
  }

button, input[type=button], input[type=submit] {
  width: auto;
  overflow: visible;
}


sub, sup {
  position: relative;

  font-size: 75%;
  line-height: 0;
}
  sup {
    top: -0.5em;
  }
  sub {
    bottom: -0.25em;
  }

.clickable, label, input[type=button], [type=submit], input[type=file], button {
  cursor: pointer;
}

img {
  -ms-interpolation-mode: bicubic;
}
  a img {
    border: none;
  }

.clearfix {
  zoom: 1;
}
  .clearfix:before, .clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
    clear: both;
  }
